home *** CD-ROM | disk | FTP | other *** search
/ Diccionario Visual Trilingue / VISUAL.iso / SHARED.DIR / 10078_Script de control illustration.ls < prev    next >
Encoding:
Text File  |  1997-07-04  |  9.2 KB  |  260 lines

  1. global gLstRectHS, gLstPictHS, gRedTagData, gLinkData, gRegionData, gCurrentLabel, gLstLabelButtonHS, gActiveHS, gScreenStatus, gCurrentScreen, gCurrentCut, glstlabels, gPictureOnly, gShowAll, gZoomData, gZoomRect, gTextLanguage, gWorking, gJumpData, gLastPictLabel, gCurrAnimation, gCutData, gLstAnimHS, gNotPictLabel, gLabelLang, gIndexLabel, gRunningMovie, gLstAnimPals
  2.  
  3. on ScreenEnterFrame
  4.   set the cursor of sprite 1 to 0
  5.   if getAt(gRunningMovie, 1) <> #stop then
  6.     CheckAnimStatus()
  7.   end if
  8.   if CheckAnimPalettes() = 0 then
  9.     return 
  10.   end if
  11.   set TestPoint to point(the mouseH, the mouseV)
  12.   if not gShowAll then
  13.     if rollOver(42) or rollOver(44) or rollOver(40) then
  14.       if rollOver(42) then
  15.         set actionID to 42
  16.       else
  17.         if rollOver(44) then
  18.           set actionID to 44
  19.         else
  20.           if rollOver(40) then
  21.             set actionID to 40
  22.           end if
  23.         end if
  24.       end if
  25.       set gActiveHS to [#LabelText, actionID]
  26.       handCursor()
  27.       return 
  28.     end if
  29.     repeat with i = 1 to 3
  30.       if count(getAt(gLstLabelButtonHS, i)) > 0 then
  31.         if inside(TestPoint, getAt(getAt(gLstLabelButtonHS, i), 1)) then
  32.           set gActiveHS to [#LABELBUTTON, i, getAt(getAt(gLstLabelButtonHS, i), 2)]
  33.           handCursor()
  34.           return 
  35.         end if
  36.       end if
  37.     end repeat
  38.   end if
  39.   repeat with i = 1 to count(gLstRectHS)
  40.     if inside(TestPoint, getAt(getAt(gLstRectHS, i), 1)) then
  41.       set NewAction to getAt(getAt(gLstRectHS, i), 2)
  42.       set NewActionID to getAt(getAt(gLstRectHS, i), 3)
  43.       set NewLabel to getAt(getAt(gLstRectHS, i), 4)
  44.       if (getAt(gActiveHS, 1) = NewAction) and (getAt(gActiveHS, 2) = NewActionID) then
  45.         return 
  46.       end if
  47.       if gShowAll or gPictureOnly then
  48.         set gLstLabelButtonHS to [[], [], [rect(0, 0, 0, 0), getAt(getAt(gLstRectHS, i), 4)]]
  49.       else
  50.         if NewAction = #REDTAG then
  51.           if gCurrAnimation <> -1 then
  52.             if (getAt(getAt(gRedTagData, NewActionID), 6) = gCurrAnimation) or (getAt(gLstAnimHS, getAt(gRunningMovie, 2)) <> #TOGGLE) then
  53.               return 
  54.             end if
  55.           end if
  56.           if gCurrentLabel <> [] then
  57.             if (getAt(gCurrentLabel, 6) <> NewAction) or (getAt(gCurrentLabel, 7) <> NewActionID) then
  58.               EraseRedTag(getAt(gRedTagData, NewActionID))
  59.             end if
  60.           else
  61.             EraseRedTag(getAt(gRedTagData, NewActionID))
  62.           end if
  63.         end if
  64.         if NewLabel <> [] then
  65.           DrawLabelAndArrow2(NewLabel, 39, 40)
  66.         end if
  67.       end if
  68.       if (NewAction <> #REDTAG) and (NewAction <> #BRACKET) then
  69.         if gPictureOnly and ((NewAction = #ZOOM) or (NewAction = #REGION) or (NewAction = #LINK)) then
  70.           set NewAction to #void
  71.         else
  72.           if NewAction = #ANIMATION then
  73.             AnimationEnterFrame(i)
  74.           else
  75.             if NewAction = #ZOOM then
  76.               MagnifyCursor()
  77.             else
  78.               if (NewAction = #REGION) and (gScreenStatus = #REGION) then
  79.                 PointerCursor()
  80.                 set NewAction to #void
  81.               else
  82.                 if gShowAll and (gCurrAnimation <> -1) and (NewAction = #LABELBUTTON) then
  83.                   if getAt(getaProp(glstlabels, NewActionID), 5) = gCurrAnimation then
  84.                     set NewAction to #void
  85.                     PointerCursor()
  86.                   else
  87.                     handCursor()
  88.                   end if
  89.                 else
  90.                   handCursor()
  91.                 end if
  92.               end if
  93.             end if
  94.           end if
  95.         end if
  96.       end if
  97.       set gActiveHS to [NewAction, NewActionID]
  98.       return 
  99.     end if
  100.   end repeat
  101.   repeat with i = 1 to count(gLstPictHS)
  102.     if the mouseCast = getAt(getAt(gLstPictHS, i), 1) then
  103.       set NewAction to getAt(getAt(gLstPictHS, i), 3)
  104.       set NewActionID to getAt(getAt(gLstPictHS, i), 4)
  105.       set NewLabel to getAt(getAt(gLstPictHS, i), 5)
  106.       if (getAt(gActiveHS, 1) = NewAction) and (getAt(gActiveHS, 2) = NewActionID) then
  107.         return 
  108.       end if
  109.       if not gShowAll and not gPictureOnly then
  110.         if NewAction = #None then
  111.           if (gLastPictLabel <> NewActionID) and (the mouseCast <> gNotPictLabel) then
  112.             set gNotPictLabel to 0
  113.             set gLastPictLabel to NewActionID
  114.             DrawLabelAndArrow2(getAt(getAt(gLstPictHS, i), 5), 43, 44)
  115.           end if
  116.           PointerCursor()
  117.         else
  118.           if count(NewLabel) > 0 then
  119.             DrawLabelAndArrow2(NewLabel, 39, 40)
  120.           end if
  121.           handCursor()
  122.         end if
  123.       else
  124.         if NewAction = #None then
  125.           PointerCursor()
  126.         end if
  127.       end if
  128.       set gActiveHS to [NewAction, NewActionID, getAt(getAt(gLstPictHS, i), 2)]
  129.       return 
  130.     end if
  131.   end repeat
  132.   set gActiveHS to [#void, 0]
  133.   if gNotPictLabel <> 0 then
  134.     set gNotPictLabel to 0
  135.   end if
  136.   if gScreenStatus = #REGION then
  137.     if the mouseCast <> -1 then
  138.       if not (the name of cast the mouseCast starts "R") then
  139.         handCursor()
  140.         set gActiveHS to [#ENDREGION, 0]
  141.       else
  142.         PointerCursor()
  143.       end if
  144.     end if
  145.   else
  146.     if gScreenStatus = #ZOOM then
  147.       if inside(point(the mouseH, the mouseV), gZoomRect) then
  148.         PointerCursor()
  149.       else
  150.         handCursor()
  151.         set gActiveHS to [#ENDZOOM, 0]
  152.       end if
  153.     else
  154.       PointerCursor()
  155.     end if
  156.   end if
  157. end
  158.  
  159. on ScreenMouseDown
  160.   if the doubleClick and (getAt(gActiveHS, 1) <> #LabelText) then
  161.     return 
  162.   end if
  163.   set action to getAt(gActiveHS, 1)
  164.   set actionID to getAt(gActiveHS, 2)
  165.   if not gPictureOnly then
  166.     if not rollOver(35) then
  167.       if ((action = #void) or (action = #None)) and not gShowAll then
  168.         clickNoWhere(action)
  169.       end if
  170.     end if
  171.     if action = #LabelText then
  172.       ClickLabelText(actionID)
  173.       return 
  174.     end if
  175.   end if
  176.   if action = #ENDZOOM then
  177.     CreateScreen(gCurrentScreen, 0, 1)
  178.     PointerCursor()
  179.   else
  180.     if rollOver(35) then
  181.       ProcessAnimPushButton(getAt(gLstAnimPals, 1), 1)
  182.     else
  183.       if rollOver(36) then
  184.         ProcessAnimPushButton(getAt(gLstAnimPals, 2), 2)
  185.       else
  186.         if action = #ENDREGION then
  187.           CreateScreen(gCurrentScreen, 0, 1)
  188.         else
  189.           if action = #LINK then
  190.             set TempData to getAt(gLinkData, actionID)
  191.             set the castNum of sprite 46 to 10841
  192.             set the locH of sprite 46 to getAt(TempData, 1)
  193.             set the locV of sprite 46 to getAt(TempData, 2)
  194.             if PushButton(46) then
  195.               set theLinkTempList to getAt(gLinkData, actionID)
  196.               set gLabelLang to gTextLanguage
  197.               set gIndexLabel to getAt(getAt(theLinkTempList, 6), gTextLanguage)
  198.               set gCurrentCut to 1
  199.               set the castNum of sprite 46 to 10001
  200.               GetNavigInfo([getAt(theLinkTempList, 7), 5, getAt(theLinkTempList, 5)])
  201.               return 
  202.             else
  203.               set the castNum of sprite 46 to 10001
  204.             end if
  205.           else
  206.             if action = #REGION then
  207.               set castNum to 10843
  208.               set TempData to getAt(gRegionData, actionID)
  209.               set TempNum to castNum + ((getAt(TempData, 3) - 1) * 2)
  210.               addRAMobjects(#CastList, [TempNum])
  211.               set the castNum of sprite 46 to TempNum
  212.               set the locH of sprite 46 to getAt(TempData, 1)
  213.               set the locV of sprite 46 to getAt(TempData, 2)
  214.               if PushButton(46) then
  215.                 set the castNum of sprite 46 to 10001
  216.                 CreateRegionScreen(gCurrentScreen, actionID)
  217.               else
  218.                 set the castNum of sprite 46 to 10001
  219.               end if
  220.               return 
  221.             else
  222.               if action = #ZOOM then
  223.                 if ZoomPushButton(getAt(gZoomData, actionID)) then
  224.                   CreateZoomScreen(gCurrentScreen, ((getAt(getAt(gZoomData, actionID), 8) - 1) * 15) + 60, getAt(getAt(gZoomData, actionID), 6), getAt(getAt(gZoomData, actionID), 7))
  225.                 end if
  226.               else
  227.                 if action = #LABELBUTTON then
  228.                   ClickPopUp(actionID)
  229.                 else
  230.                   if action = #Jump then
  231.                     if PushButton(getAt(gActiveHS, 3)) then
  232.                       set theJumpTempList to getAt(getAt(gJumpData, actionID), 5)
  233.                       set gCurrentCut to 1
  234.                       spriteClearCursor(getAt(gActiveHS, 3))
  235.                       GetNavigInfo([getAt(theJumpTempList, 2), 5, getAt(theJumpTempList, 1)])
  236.                     end if
  237.                   else
  238.                     if action = #ANIMATE then
  239.                       if PushButton(getAt(gActiveHS, 3)) then
  240.                         ActivateMovie(#play, getAt(getAt(gJumpData, getAt(gActiveHS, 2)), 5), 0)
  241.                       end if
  242.                     else
  243.                       if action = #Cut then
  244.                         if PushButton(getAt(gActiveHS, 3)) then
  245.                           set gCurrentCut to getAt(getAt(gCutData, actionID), 5)
  246.                           CreateScreen(gCurrentScreen, 0, 1)
  247.                         end if
  248.                       end if
  249.                     end if
  250.                   end if
  251.                 end if
  252.               end if
  253.             end if
  254.           end if
  255.         end if
  256.       end if
  257.     end if
  258.   end if
  259. end
  260.